package com.wechat.api.param;

import com.alibaba.fastjson.JSONObject;
import com.wechat.api.config.WeChatConfigProperties;
import com.wechat.api.enums.WeChatEnums;
import com.wechat.api.util.WeChatUtil;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class GetOpenIdParam {

    /**
     * @Descriptio: 小程序唯一凭证，即 AppID，可在「微信公众平台 - 设置 - 开发设置」页中获得。（需要已经成为开发者，且帐号没有异常状态）
     */
    private  String appId;

    /**
     * @Descriptio: 小程序唯一凭证密钥，即 AppSecret，获取方式同 appid返回值
     */
    private  String secret;
    /**
     * @Descriptio: 微信code
     */
    private String js_code;

    /**
     * @Descriptio: 手机号验证码
     */
    private String grant_type ="authorization_code";

    public GetOpenIdParam(WeChatConfigProperties chatConfigProperties, String js_code){
        this.appId = chatConfigProperties.getAppId();
        this.secret = chatConfigProperties.getSecret();
        this.js_code = js_code;
    }

    public String url(WeChatEnums api){
        String url = api.getUrl();
        if(api.getReqMethod().equals("GET")){
            url = url+"?"+WeChatUtil.jsonToGet(toString());
        }
        return url;
    }

    public String toString(){
        return JSONObject.toJSONString(this);
    }

}
